Refactoring Aspect-Oriented Programs
نویسندگان
چکیده
Refactoring is the process of changing a program to improve its internal structure and reusability, without altering the external behavior of the program. It is a disciplined way to clean up code that minimizes the chances of introducing bugs. In this paper, we propose a systemic approach to refactoring aspect-oriented programs. To this end, we rst investigate the impact of existing object-oriented refactorings such as those proposed by Fowler [4] on aspect-oriented programs. Then we propose some new aspect-oriented refactorings that are unique to aspect-oriented programs. Finally, we discuss tool support for automatic refactoring of aspect-oriented programs. We use AspectJ, a general-purpose AOP language to demonstrate our approach, but our approach is general enough to be applicable to other AOP languages.
منابع مشابه
Program Refactoring, Program Synthesis, and Model-Driven Development
Program refactoring, feature-based and aspect-oriented software synthesis, and model-driven development are disjoint research areas. However, they are all architectural metaprogramming technologies as they treat programs as values and use functions (a.k.a. transformations) to map programs to other programs. In this paper, I explore their underlying connections by reviewing recent advances in ea...
متن کاملAJcFgraph - AspectJ Control Flow Graph Builder for Aspect-Oriented Software
The ever-growing usage of aspect-oriented development methodology in the field of software engineering requires tool support for both research environments and industry. So far, tool support for many activities in aspect-oriented software development has been proposed, to automate and facilitate their development. For instance, the AJaTS provides a transformation system to support aspect-orient...
متن کاملRefactoring JHOTDRAW’s Undo concern to ASPECTJ
In this paper we discuss an approach to the aspect-oriented refactoring of the Undo concern in an open-source Java system. A number of challenges and considerations of the proposed solution are analyzed for providing useful feedback about how the employed aspect language could better support the refactoring to aspects. We also consider the unpluggability property of a concern as an estimate of ...
متن کاملIntroduction of Aspect Oriented Techniques for refactoring legacy software
Refactoring has become a well-known technique for improving the code in a way that preserves behavior. The application of refactorings during development process of an object oriented or procedure oriented software improves the design and therefore the quality of software. During the evolution of software it is a requirement to refactor them in order to make it more compatible and flexible with...
متن کاملOn the Notion of Functional Aspects in Aspect-Oriented Refactoring
In this paper, we examine the notion of functional aspects in context of aspect-oriented refactoring. Treating aspects as functions reduces the potential interactions between aspects significantly. We propose a simple mathematical model that incorporates fundamental properties of aspects and their interactions. Using this model, we show that with regard to refactoring functional aspects are as ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003